Method and apparatus of telecommunications

ABSTRACT

Generating codewords and determining an information symbol from a codeword for transmission in a telecommunication system is disclosed. The method and apparatus provided by the embodiments of the invention allow up to a maximum number of codewords to be generated given the code alphabet size. Embodiments of the invention also provide method and apparatus for determining an information symbol from a codeword.

RELATED APPLICATIONS

This patent application is a continuation of PCT International Application No. PCT/CN2008/071936 filed on Aug. 8, 2008.

TECHNICAL FIELD

The present invention relates to telecommunications, and particularly, to technology of generating codewords and determining an information symbol from a codeword for transmission in a telecommunication system.

BACKGROUND

FIG. 1 illustrates a base station (101) of a cellular communication system covering cell 1 (102) and cell 2 (103), and user equipment (104). A cell is an area of radio coverage of a base station and each base station covers one or more cells by one or more antennas (105), (106). The cell is identified by a cell identity.

In most telecommunication systems, when a user terminal initializes access to the system, it initially determines the time synchronization, including the symbol timing and the frame timing, the frame comprising several symbols. In an example 3GPP cellular system, the symbol timing is obtained from detecting a primary synchronization signal, which is transmitted via the Primary Synchronization Channel P-SCH, whereas the frame timing is determined by decoding a secondary synchronization signal transmitted via the Secondary Synchronization Channel S-SCH. The secondary synchronization signal also typically conveys information about a cell identity or a cell group identity. A cell group identity identifies a group of one or more cells.

In a cellular communication system, such as an Orthogonal Frequency Division Multiplex OFDM system, symbols are transmitted in radio frames. In an example OFDM system, the time interval of the radio frames is 10 ms and the synchronization symbols are placed equidistantly 5 ms apart. Ability to determine frame timing and cell specific information from a single S-SCH symbol may be required. In a further example 3GPP system, two secondary synchronization code SSC sequences are multiplexed in an S-SCH symbol. The SSC sequences are taken from a set of 31 m-sequences and cell-specific scrambling is applied. Indices m₀ and m₁ of two SSC sequences in an S-SCH symbol can be regarded as representing elements of a codeword of length 2. Each such S-SCH codeword is denoted by [m₀,m₁].

In an E-UTRA system, a code design is adopted with the following specified code construction to map a cell group ID, N_(ID) to codeword elements:

$\begin{matrix} {{m_{0} = {m^{\prime}{mod}\; 31}}{m_{1} = {\left( {m_{0} + \left\lfloor {m^{\prime}/31} \right\rfloor + 1} \right){mod}\; 31}}{{m^{\prime} = {N_{ID} + {{q\left( {q + 1} \right)}/2}}},{q = \left\lfloor \frac{N_{ID} + {{q^{\prime}\left( {q^{\prime} + 1} \right)}/2}}{30} \right\rfloor},{q^{\prime} = \left\lfloor {N_{ID}/30} \right\rfloor},}} & (0) \end{matrix}$

-   -   where 0≦N_(ID)≦167.         The code construction for encoding group IDs in the prior art         generates codewords for 0≦N_(ID)≦167, which satisfy m₀≦m₁.

SUMMARY

A telecommunication system may require enlargement of a codeword set. For example, additional new cell IDs or cell group IDs may need to be encoded to the codewords. Furthermore, the codewords could also be required to carry other type of cell-specific information, e.g., antenna configuration or to carry other potential information, in which case the number of codewords also has to increase.

In a preferred embodiment of the present invention, a method of generating one or more codewords for transmission in a telecommunication system is provided, the one or more codeword comprising codeword elements m₀ and m₁. In accordance with the embodiment, the one or more codewords are generated corresponding to one or more lattice points represented by the codeword elements and the one or more codedwords are generated corresponding to one or more lattice points from at least one lattice diagonal for which m₀<m₁. The number of the lattice diagonals is kept as small as possible given the number of the one or more codewords, for 0≦m₀≦L−1, 0≦m₁≦L−1, where L is a predefined nonnegative integer. L is a code alphabet size. The preferred method allows up to L(L−1)/2 codewords to be generated, which is the maximum number of codewords for which m₀<m₁.

An apparatus for generating one or more codewords for transmission in a telecommunication system is provided. The apparatus preferably comprises a processor configured to generate one or more codewords corresponding to one or more lattice points from at least one lattice diagonal for which m₀<m₁, and the number of the lattice diagonals is kept as small as possible given the number of the one or more codewords.

Some other preferred embodiments of the present invention illustrate a method and apparatus of determining an information symbol from a codeword.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a base station of a cellular communication system covering cell 1 and cell 2, and user equipment;

FIG. 2 illustrates codewords partitioning in a two-dimensional space;

FIG. 3 illustrates codeword elements being transmitted by sets of sub-carriers interleaved in a frequency range according to an embodiment of the invention;

FIG. 4 illustrates codeword elements being transmitted by sets of sub-carriers using different frequency ranges according to an embodiment of the invention;

FIG. 5 illustrates codewords generated in a straight direction for L=5 according to an embodiment of the invention;

FIG. 6 illustrates codewords generated in a zig-zag direction for L=5 according to an embodiment of the invention;

FIG. 7 is the flowchart of encoding an information symbol X into a codeword according to a preferred embodiment of the invention;

FIG. 8 illustrates codewords generated according to a first embodiment of the invention for L=5;

FIG. 9 illustrates codewords generated according to a second embodiment of the invention for L=5;

FIG. 10 illustrates the codewords generated according to a third embodiment of the invention for L=5;

FIG. 11 illustrates the codewords generated according to a fourth embodiment of the invention for L=5;

FIGS. 12 a-12 c illustrate the codewords generated according to a first embodiment of the invention for L=31;

FIGS. 13 a-13 c illustrate the codewords generated according to a second embodiment of the invention for L=31;

FIGS. 14 a-14 c illustrate the codewords generated according to a third embodiment of the invention for L=31;

FIGS. 15 a-15 c illustrate the codewords generated according to a fourth embodiment of the invention for L=31;

FIG. 16 illustrates an example partition of the set of codewords to encode frame timing according to an embodiment of the invention;

FIG. 17 illustrates another example partition of the set of codewords to encode frame timing according to an embodiment of the invention;

FIG. 18 is the flowchart of determining information symbol X from a codeword according to a preferred embodiment of the invention;

FIG. 19 illustrates a preferred apparatus for generating one or more codewords according to an embodiment of the invention;

FIG. 20 illustrates a preferred decoder for determining information symbol X from a codeword according to an embodiment of the invention; and

FIG. 21 illustrates a preferred system for transmitting codewords according to an embodiment of the invention.

DETAILED DESCRIPTION

With reference to FIG. 1, at a cell boundary, a UE (104) may experience S-SCH signals of similar strengths, transmitted from the base station (101). If the UE (104) performs individual detection of the codeword elements, it is possible that it detects the two codeword elements from different cells. For example, if the base station (101) transmits codeword [m₀ ⁽¹⁾,m₁ ⁽¹⁾] in cell 1 (102) and transmits codeword [m₀ ⁽²⁾,m₁ ⁽²⁾] in cell 2 (103), the UE (104) may erroneously detect [m₀ ⁽¹⁾,m₁ ⁽²⁾] or [m₀ ⁽²⁾,m₁ ⁽¹⁾]. This is called an ambiguity event.

To avoid ambiguity events, it is thus desirable that [m₀ ⁽¹⁾,m₁ ⁽²⁾] and [m₀ ⁽²⁾,m₁ ⁽¹⁾] are invalid codewords. Codewords for FT=0 are transmitted in one OFDM symbol and codewords for FT=1 are transmitted in another OFDM symbol of the same frame. Otherwise, neither cell 1 nor cell 2 are identified by the UE (104) but the wrong cell group identity and frame timing may be obtained from [m₀ ⁽¹⁾,m₁ ⁽²⁾] and [m₀ ⁽²⁾,m₁ ⁽¹⁾].

FIG. 2 is a schematic diagram of codewords partitioning in a two-dimensional space. Codewords above the diagonal encode frame timing FT hypothesis 0 and codewords under the diagonal encode frame timing FT hypothesis 1. The code could therefore be constructed such that for a given S-SCH symbol, there is a relation m₀<m₁ or m₀>m₁ for all possible codewords of a particular FT hypothesis. A small distance between the codeword elements in a codeword |m₀−m₁| results in a diagonal codeword region.

Trying a straightforward extension of equation (0) provides codewords in a band similar to that of FIG. 2, FT=0, for N_(ID)≦233. However it is not capable of providing up to a maximum number of codewords while maintaining the band structure as illustrated in FIG. 2. If, e.g., N_(ID)=234 (notwithstanding greater than 167) were simply inserted into equation (0) for such an extension, it would correspond to m₁≧m₀.

An example code design criterion is to minimize the number of collision events. A collision event occurs when two code words share a codeword element, e.g., [m_(k),m₁] and [m_(k),m_(n)].

One example embodiment of the invention provides a method of generating one or more codewords for transmission in a cellular communication system. A codeword comprises codeword elements m₀ and m₁. Codeword elements m₀ and m₁ are nonnegative integers.

In the example embodiment, one or more codewords are generated corresponding to one or more lattice points represented by the codeword elements for a one-one correspondence between codewords and lattice points. The one or more codedwords are generated corresponding to one or more lattice points from at least one lattice diagonal for which m₀<m₁ and the number of the lattice diagonals is kept as small as possible given the number of the one or more codewords, for 0≦m₀≦L−1, 0≦m₁≦L−1, and L is a predefined nonnegative integer. For example, L is a code alphabet size. The method allows up to a maximum number of codewords for which m₀<m₁ to be generated. This maximum number is L(L−1)/2.

One example advantage of embodiments of the invention is that the maximum number of codewords can be generated given the code alphabet size.

Home eNodeBs, for so called closed subscriber groups, CSGs, may require that either some of the current amount of cell IDs is reserved for Home eNodeBs, or that additional new cell IDs are dedicated to the Home eNodeB. Hence the latter case necessitates encoding of larger number of cell group IDs, which can be done by adding more codeword to the S-SCH.

Generating codewords capable of providing frame timing and allowing up to a maximum number of codewords satisfies the demand for increasing the number of codewords.

The codeword can be provided by arranging the codeword elements in different order, such as [m₀,m₁] or [m₁,m₀]. In one example application, the codeword elements m₀ and m₁ correspond m-sequences taken from a set of m-sequences and the number of m-sequences in the set is L. This does not exclude application of representing some other type of sequences by the codeword elements, such as Golay sequences, Hadamard sequences and Zadoff-Chu sequences.

As illustrated in FIGS. 3 and 4, in a radio communication system, the codeword sequences are preferably transmitted by some sets of radio sub-carriers. In an example OFDM system, a sequence corresponding to m₀ is transmitted by a first set of sub-carriers (31), (41) and a sequence corresponding to m₁ are transmitted by a second set of sub-carriers (32), (42). In FIG. 3, example sub-carriers (31), (32) of different sets corresponding m₀, and m₁, respectively, are preferably interleaved in frequency domain. FIG. 4 illustrates example sub-carriers (41), (42) of different sets, the respective sets of subcarriers transmitting m₀, and m₁, and being allocated consecutively in frequency domain.

FIG. 5 illustrates codewords generated in a straight direction for L=5 according to an embodiment of the invention. The dots represent the lattice points, i.e., the codewords.

The codewords are generated corresponding to lattice points. Example lattice points for a discrete subgroup of the Euclidean space encompass the subgroup {m₀v₀+m₁v₁}, where m₀ and m₁ are integers and v₀ and v₁ are linearly independent vectors. Given two such vectors v₀ and v₁, each lattice point can be uniquely represented by the two codeword elements m₀ and m₁. Furthermore, a set of lattice points, S_(k), for an integer k is defined according to S_(k)={(m₀,m₁):m₁=m₀+k}.

For each integer k, we may refer to S_(k) as a lattice diagonal or a kth lattice diagonal. For k=0, we refer to the lattice diagonal as the main lattice diagonal. The main lattice diagonal comprises lattice points for which m₀=m₁. For k>0, we may refer to the lattice diagonal as the k:th lattice super-diagonal. The kth lattice super-diagonal comprises lattice points for which m₀<m₁. For k<0, we may refer to the lattice diagonal as the k:th lattice sub-diagonal. The kth lattice sub-diagonal comprises lattice points for which m₀>m₁. Codewords are preferably generated close to the main lattice diagonal, until sufficient number of codewords has been obtained.

To minimize the occurrence of ambiguity events, preferably codewords are defined using the whole range of m₀- and m₁-values and are allocated as close as possible to the main lattice diagonal for which m₀=m₁. A small distance between the codeword elements in a codeword |m₀−m₁| results in a diagonal codeword region, an example of which is illustrated in FIG. 2. This may render some of the ambiguous codewords to be outside the codeword region. To minimize the occurrence of collision events, the diagonal codeword region preferably utilizes the whole range of m₀ and m₁ values.

When allocating codewords corresponding to the lattice points of one or more lattice diagonals, the codewords allocation could be represented by an ordering along the lattice diagonals.

As illustrated in FIG. 5, for the first lattice super-diagonal, k equals 1 and m₁ is generated according to m₁=m₀+1. For the code alphabet size L=5, the values of m₀ and m₁ are less than 5. Therefore, the codewords generated from the first lattice super-diagonal are [0, 1], [1, 2], [2, 3], [3, 4]. Then, k is increased by one for the second lattice super-diagonal, i.e. k=2, and a new set of codewords [0, 2], [1, 3], [2, 4] are generated. As illustrated in FIG. 5, all the codewords are taken from each lattice super-diagonal in a straight direction from the lower left to the upper right. The offset k ranges from 1 to 4 for generating the maximum number of codewords. The maximum number of codewords for which m₀<m₁ can be generated is L(L−1)/2=10. Considering the maximum number of codewords for which m₀<m₁, all the codewords that can be generated are [0, 1], [1, 2], [2, 3], [3, 4], [0, 2], [1, 3], [2, 4], [0, 3], [1, 4], and [0, 4].

The codewords can also be taken from each lattice super-diagonal in a reverse direction from the upper right to the lower left. For example, on the first lattice super-diagonal, codewords generated are [3, 4], [2, 3], [1, 2], [0, 1]. Considering the maximum number of codewords for which m₀<m₁, all the codewords that can be generated are the same as above. Though, for less than the maximum number of codewords, the sets of codewords may not be identical.

FIG. 6 illustrates codewords are taken in a zig-zag direction for L=5 according to another embodiment.

In this embodiment, codewords are taken from each odd lattice super-diagonal in a direction from the lower left to the upper right and taken from each even lattice super-diagonal in a direction from the upper right to the lower left. For the first lattice super-diagonal, the integer k equals 1 and m₁ is generated according to m₁=m₀+1. The codewords are taken in a direction from the lower left to the upper right. Therefore, the codewords generated from the first lattice super-diagonal are [0, 1], [1, 2], [2, 3], [3, 4]. Then, k is increased by one for the second lattice super-diagonal, i.e. and the codewords are taken in a direction from the upper right to the lower left. Therefore, the codewords generated from the second lattice super-diagonal are [2, 4], [1, 3], [0, 2].

The codewords also can be taken from each odd lattice super-diagonal in a direction from the upper right to the lower left and taken from each even lattice super-diagonal in a direction from the lower left to the upper right.

In the above embodiments, a subset of codewords is generated, and the number of the lattice super-diagonals is kept as small as possible given the number of the codewords. As FIG. 5 and FIG. 6 show, the maximum number of codewords can be generated. If a number of codewords smaller than the maximum number is generated, e.g. codewords are generated from the first two lattice super-diagonals, a diagonal codeword region as depicted in FIG. 2 is obtained, which assures low ambiguity and collision occurrence.

In a cellular telecommunication system, information, such as cell specific information and antenna configuration, can be encoded into a codeword.

In the following embodiments, example methods of encoding an information symbol X into a codeword are provided. The information symbol X may be cell specific information, such as a cell identity or a cell group identity. X is an integer and

$0 \leq X \leq {\frac{L\left( {L - 1} \right)}{2} - 1}$

for code alphabet size L.

To prevent or minimize the risk of erroneous decoding in a cellular system, codewords are preferably selected not to include [m₀ ⁽¹⁾,m₁ ⁽²⁾] or [m₀ ⁽²⁾,m₁ ⁽¹⁾] as valid codewords.

FIG. 7 is a flowchart of example encoding of an information symbol X into a codeword that, depending on applied (702), (703) function ƒ(X), may provide a one-one correspondence between information symbols and codewords. In the embodiment, m₀ is determined according to an information symbol X (701), an integer k is determined (702) according to k=ƒ(X), and m₁ is determined (703) according to m₁=m₀+ƒ(X).

The codeword elements m₀,m₁ can also be determined (704) without regard of order. The codeword elements are then preferably determined directly from the information symbol X without intermediary determining of an integer k.

An offset from a lattice diagonal for which m₀=m₁ to the lattice diagonal of the codeword is represented by an information dependent integer k, being generated according to k=ƒ(X), where ƒ(X) is some suitable function for assigning information symbols to particular one or more sets of lattice points. The function ƒ(X) is preferably generated from a number sequence. Such a number sequence is

$\underset{\underset{L\text{-}1}{}}{1,1,\ldots \mspace{14mu},1},\underset{\underset{L\text{-}2}{}}{2,2,\ldots \mspace{14mu},2},\ldots \mspace{14mu},{\underset{\underset{1}{}}{L - 1}.}$

The number sequence can be expressed in closed form by representing each element of the sequence by a function ƒ(X) taking on integer values for different values of integer variable X. Various indices of elements of the number sequence correspond to integer values of X. A unit-step functions, u(n),

${u(n)} = \left\{ \begin{matrix} {1,} & {n \geq 0} \\ {0,} & {{n < 0},} \end{matrix} \right.$

makes an example closed form expression read

${{f(X)} = {\sum\limits_{p = 0}^{L - 2}{u\left( {X - {pL} + \frac{p\left( {p + 1} \right)}{2}} \right)}}},{X = 0},1,2,\ldots \mspace{14mu},{\frac{L\left( {L - 1} \right)}{2} - 1.}$

Without involving the unit step function explicitly in a sum, the function ƒ(X) providing the abovementioned sequence and subsequences thereof for a given range of consecutive integer values, X, may be defined as

$\begin{matrix} {{f(X)} = \left\{ \begin{matrix} {1,} & {{X = 0},\ldots \mspace{14mu},{L - 2}} \\ {2,} & {{X = {L - 1}},\ldots \mspace{14mu},{{2L} - 4}} \\ \vdots & \vdots \\ {{L - 1},} & {X = {\frac{L\left( {L - 1} \right)}{2} - 1.}} \end{matrix} \right.} & (1) \end{matrix}$

The function may equivalently be defined as

$\begin{matrix} {{{f(X)} = {L - 1 - \left\lfloor \frac{\sqrt{1 + {8\left( {\frac{L\left( {L - 1} \right)}{2} - 1 - X} \right)}} - 1}{2} \right\rfloor}},} & (2) \end{matrix}$

for 0≦X<L(L−1)/2, where └r┘ denotes the greatest integer less than or equal to r, for a real number r.

In a first embodiment, information symbols are mapped to codewords by allocating codewords from each lattice super-diagonal to a next information symbol in a direction from the lower left to the upper right. Codeword element m₀ is determined linearly proportional to the value of information symbol X by mapping it onto a corresponding lattice point of a lattice super-diagonal by subtracting the number of codewords of lattice super-diagonals for which all codewords have been allocated. Therefore, m₀ and m₁ are preferably determined according to

$\begin{matrix} \begin{matrix} {m_{0} = {X - {\sum\limits_{k = 1}^{{f{(X)}} - 1}\left( {L - k} \right)}}} \\ {{\left. {= {X - \left( {{f(X)} - 1} \right)}} \right)\left( {L - {{f(X)}/2}} \right)},} \end{matrix} & (3) \\ {{\left. {m_{1} = {X - \left( {{f(X)} - 1} \right)}} \right)\left( {L - {{f(X)}/2}} \right)} + {{f(X)}.}} & (4) \end{matrix}$

FIG. 8 illustrates the codewords generated according to the first embodiment for example code alphabet size L=5.

In a second embodiment, codewords are allocated to a next information symbol from each lattice super-diagonal in a direction from the upper right to the lower left. Therefore, m₀ and m₁ are determined according to

$\begin{matrix} \begin{matrix} {m_{0} = {{\sum\limits_{k = 1}^{f{(X)}}\left( {L - k} \right)} - 1 - X}} \\ {{= {{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X}},} \end{matrix} & (5) \\ {m_{1} = {{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X + {{f(X)}.}}} & (6) \end{matrix}$

FIG. 9 illustrates the codewords generated according to the second embodiment for example code alphabet size L=5.

In a third embodiment, codewords are allocated to a next information symbol from each odd lattice super-diagonal in a direction from the lower left to the upper right and from each even lattice super-diagonal in a direction from the upper right to the lower left. Therefore, m₀ and m₁ are determined according to

$\begin{matrix} {\mspace{79mu} {m_{0} = \left\{ \begin{matrix} {\left. {X - \left( {{f(X)} - 1} \right)} \right)\left( {{L - {f\left( {X/2} \right)}},} \right.} & {{f(X)}\mspace{14mu} {odd}} \\ {{{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X},} & {{{f(X)}\mspace{14mu} {even}},} \end{matrix} \right.}} & (7) \\ {m_{1} = \left\{ \begin{matrix} {{{\left. {X - \left( {{f(X)} - 1} \right)} \right)\left( {L - {{f(X)}/2}} \right)} + {f(X)}},} & {{f(X)}\mspace{14mu} {odd}} \\ {{{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X + {f(X)}},} & {{f(X)}\mspace{14mu} {{even}.}} \end{matrix} \right.} & (8) \end{matrix}$

FIG. 10 illustrates codewords generated according to the third embodiment for example code alphabet size L=5.

In a fourth embodiment, codewords are allocated to a next information symbol from each odd lattice super-diagonal in a direction from the upper right to the lower left and from each even lattice super-diagonal in a direction from the upper right to the lower left. Therefore, m₀ and m₁ are determined according to

$\begin{matrix} {\mspace{79mu} {m_{0} = \left\{ \begin{matrix} {{{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X},} & {{f(X)}\mspace{14mu} {odd}} \\ {{\left. {X - \left( {{f(X)} - 1} \right)} \right)\left( {L - {{f(X)}/2}} \right)},} & {{{f(X)}\mspace{14mu} {even}},} \end{matrix} \right.}} & (9) \\ {m_{1} = \left\{ \begin{matrix} {{{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X + {f(X)}},} & {{f(X)}\mspace{14mu} {odd}} \\ {\left. {X - \left( {{f(X)} - 1} \right)} \right)\left( {{L - {f\left( {X/2} \right)} + {f(X)}},} \right.} & {{f(X)}\mspace{14mu} {{even}.}} \end{matrix} \right.} & (10) \end{matrix}$

FIG. 11 illustrates the codewords generated according to the fourth embodiment for example code alphabet size L=5.

In an example OFDM system, the code alphabet size L=31. The maximum of the codewords that can be generated, for which m₀<m₁ is L(L−1)/2=465. The 465 codewords can uniquely represent 465 information symbols. In case the information symbol X is an identity, ID, such as a cell identity or a cell group identity, the 465 codewords can uniquely represent 465 IDs.

In a first embodiment, information symbols are mapped to codewords by allocating codewords to a next information symbol from lattice super-diagonals in a direction from the lower left to the upper right. The codewords are generated from equations 3 and 4. FIGS. 12 a-12 c illustrate the codewords generated according to the first embodiment for L=31.

In a second embodiment, codewords are allocated to a next information symbol from lattice super-diagonals in a direction from the upper right to the lower left. The codewords are generated from equations 5 and 6. FIGS. 13 a-13 c illustrate the codewords generated according to the second embodiment for L=31.

In a third embodiment, codewords are allocated to a next information symbol from each odd lattice super-diagonal in a direction from the lower left to the upper right and from each even lattice super-diagonal in a direction from the upper right to the lower left. The codewords are generated from equations 7 and 8. FIGS. 14 a-14 c illustrate the codewords generated according to the third embodiment for L=31.

In a fourth embodiment, the codewords are allocated to a next information symbol from each odd lattice super-diagonal in a direction from the upper right to the lower left and from each even lattice super-diagonal in a direction from the lower left to the upper right. The codewords are generated from equations 9 and 10. FIGS. 15 a-15 c illustrate the codewords generated according to the fourth embodiment for L=31.

According to some preferred embodiments, a first codeword is provided for a single information symbol, the codeword elements of the first codeword being in a first order and a second codeword is provided comprising the codeword elements in a second order. For example, the first codeword is [m₀,m₁] and the second codeword is [m₁,m₀]. The different order of the codeword elements can then represent different information, such as different frame timing hypothesis.

In one embodiment, frame timing is encoded in to a codeword. Depending on frame timing hypothesis, a codeword [m₀,m₁] is swapped to [m₁,m₀]. The swapping generates a new set of L(L−1)/2 unique codewords. Then, the codeword [m₀,m₁] represents frame timing hypothesis 0 and the codeword [m₁,m₀] represents frame timing hypothesis 1 or, alternatively, the codeword [m₀,m₁] represents frame timing hypothesis 1 and the codeword [m₁,m₀] represents frame timing hypothesis 0.

Preferably, the codeword [m₀,m₁] is transmitted in one OFDM symbol of a frame and the codeword [m₁,m₀] in another OFDM symbol of the frame.

However, swapping the codeword is not the only way to encode frame timing. According to other embodiments, the set of codewords are partitioned without any element swapping to encode frame timing.

FIG. 16 is a schematic diagram illustrating an example partition of the set of codewords to encode frame timing. For example, the codewords in the lattice diagonals for which 1≦k≦n₁ represent frame timing hypothesis 1 and the codewords in the lattice diagonals for which n₁+1≦k≦n₂ represent frame timing hypothesis 0. n₁, n₂ are predefined nonnegative integers and n₁<n₂<L.

FIG. 17 is a schematic diagram illustrating another example partition of the set of codewords to encode frame timing. The codewords under the diagonal m₀+m₁=L−1 represent frame timing hypothesis 0 and the codewords above the diagonal m₀+m₁=L−1 represent frame timing hypothesis 1.

Other partitions of codewords to encode frame timing than those illustrated in FIG. 16 and FIG. 17 may also be considered.

The embodiment of the invention also provides a method of determining an information symbol X from a codeword generated according to the any of the above embodiments. The information symbol X is determined according to the codeword elements m₀ and m₁ of the codeword and the difference between m₀ and m₁.

FIG. 18 is the flowchart of determining an information symbol X from a codeword according to an embodiment of the invention. After initially obtaining m₀ and m₁ from a codeword (181), an integer k is determined (182) according to k=|m₁−m₀|, and an information symbol X is determined (183) in relation to the mapping of information symbol to codeword of an encoder.

The information symbol X can also be determined (184) directly from the codeword elements m₀,m₁ without intermediary determining of an integer k.

If X is encoded into the codeword according to the first embodiment, the information symbol X is determined (183) according to

X=min{m ₀ ,m ₁}+(k−1))(L−k/2),  (11)

where min{m₀,m₁} denotes the smallest of m₀ and m₁. Equation 11 is symmetric in relation to m₀ and m₁ and interchanging the roles of m₀ and m₁ does not affect the information symbol X.

If X is encoded into the codeword according to the second embodiment, the information symbol X is determined (183) according to

X=kL−k(1+k)/2−1−min{m ₀ ,m ₁},  (12)

where as before min {m₀,m₁} denotes the smallest of m₀ and m₁, k=|m₁−m₀| and |•| denotes absolute value.

If X is encoded into the codeword according to the third embodiment, the information symbol X is determined (183) according to

$\begin{matrix} {X = \left\{ {\begin{matrix} {{\left. {{\min \left\{ {m_{0},m_{1}} \right\}} + \left( {k - 1} \right)} \right)\left( {L - {k/2}} \right)},} & {k\mspace{14mu} {even}} \\ {{{kL} - {{k\left( {1 + k} \right)}/2} - 1 - {\min \left\{ {m_{0},m_{1}} \right\}}},} & {k\mspace{14mu} {{odd}.}} \end{matrix},} \right.} & (13) \end{matrix}$

where as before min {m₀,m₁} denotes the smallest of m₀ and m₁, k=|m₁−m₀| and |•| denotes absolute value.

If X is encoded into the codeword according to the fourth embodiment, the information symbol X is determined (183) according to

$\begin{matrix} {X = \left\{ \begin{matrix} {{{kL} - {{k\left( {1 + k} \right)}/2} - 1 - {\min \left\{ {m_{0},m_{1}} \right\}}},} & {k\mspace{14mu} {even}} \\ {{\left. {{\min \left\{ {m_{0},m_{1}} \right\}} + \left( {k - 1} \right)} \right)\left( {L - {k/2}} \right)},} & {{k\mspace{14mu} {odd}},} \end{matrix} \right.} & (14) \end{matrix}$

-   -   where as before min {m₀,m₁} denotes the smallest of m₀ and m₁,         k=|m₁−m₀| and |•| denotes absolute value.

The embodiments of the invention also provide an apparatus for generating one or more codewords in a telecommunication system.

In one embodiment, the apparatus comprises a processor. The processor is configured to generate one or more codewords corresponding to one or more lattice points from at least one lattice diagonal for which m₀<m₁, allowing up to L(L−1)/2 codewords to be generated and the number of the lattice diagonals being as small as possible given the number of the one or more codewords.

Preferably, the processor of the apparatus is configured to encode an information symbol X into a codeword. In an example embodiment, X represents a cell identity or a cell group identity. As before, the information symbol X is an integer and preferably

$0 \leq X \leq {\frac{L\left( {L - 1} \right)}{2} - 1.}$

FIG. 19 illustrates a preferred apparatus for generating one or more codewords.

In accordance with a first embodiment, the processor (191) is configured to determine an integer k according to equation 1 or 2 and determine m₀ and m₁ according to equations 3 and 4.

In accordance with a second embodiment, the processor (191) is configured to determine an integer k according to equation 1 or 2 and determine m₀ and m₁ according to equations 5 and 6.

In accordance with a third embodiment, the processor (191) is configured to determine an integer k according to equation 1 or 2 and determine m₀ and m₁ according to equations 7 and 8.

In accordance with a fourth embodiment, the processor (191) is configured to determine an integer k according to equation 1 or 2 and determine m₀ and m₁ according to equations 9 and 10.

In another embodiment, the apparatus further comprise storage means (192) configured to store the codewords or a subset of codewords illustrated in FIGS. 12 a-12 c. The storage means (192) can also store the codewords or a subset of codewords illustrated in FIGS. 13 a-13 c, FIGS. 14 a-14 c, or FIGS. 15 a-15 c. However, the storage means (192) need not be an essential part of the apparatus. Particularly for embodiments generating codewords from circuitry implementing closed form expressions such as those in equations 3-10, there is no need to store an entire codeword table for table lookup encoding, such as the example codeword tables in FIGS. 12-15.

FIG. 20 is a schematic diagram illustrating a preferred decoder for determining information symbol X from a codeword. The decoder comprises a processing equipment (201), such as a processor, configured to determine the information symbol X according to the codeword elements m₀ and m₁ of the codeword and the difference between m₀ and m₁.

The information symbol X can be determined according to any of the equations 11, 12, 13 and 14.

In another embodiment, the decoder further comprises storage means (202) configured to store the codewords or a subset of codewords illustrated in FIGS. 12 a-12 c. The storage means (202) can also store the codewords or a subset of codewords illustrated in FIGS. 13 a-13 c, FIGS. 14 a-14 c, or FIGS. 15 a-15 c. The information symbol X may be determined according to the codewords stored in the storage means (202). However, the storage means (202) is not an essential part of the apparatus, when, e.g., embodied to operate according to closed form expressions such as any of the equations 11, 12, 13 and 14, eliminating the need of table lookup decoding.

According to an embodiment of the invention, a system for transmitting codewords in a cellular telecommunication system is provided. The system comprises at least two apparatuses. A first apparatus in the system transmits a first codeword uniquely representing a first information symbol and a second apparatus transmits a second codeword uniquely representing a second information symbol. Each of the first information symbol and the second information symbol is a cell identity or a cell group identity. The apparatus may be a base station or some other transmitter.

FIG. 21 illustrates a preferred system for transmitting codewords in a cellular telecommunication system.

The system comprises a first base station (211) and a second base station (212). Each of the base stations covers one or more cells.

The base stations transmit codewords and each codeword uniquely represents a cell identity or a cell group identity. For example, the first base station (211) transmits a first codeword, a first cell group identity being encoded into the first codeword and the second base station (212) transmits a second codeword, a second cell group identity being encoded into the second codeword.

While several example embodiments have been provided in the present disclosure, it should be understood that the disclosed methods, apparatuses and systems might be embodied in many other specific forms without departing from the scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.

In addition, techniques, systems, apparatuses, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the scope of independent claims. 

1. A method of generating at least one codeword for transmission in a telecommunication system, wherein a codeword comprises codeword elements m₀ and m₁, comprising generating the at least one codeword corresponding at least one lattice point represented by the codeword elements; the at least one codedword being generated corresponding to at least one lattice point from at least one lattice diagonal for which m₀<m₁, the number of the lattice diagonals being as small as possible given the number of the at least one codeword; and the method allowing up to L(L−1)/2 codewords to be generated; where m₀ and m₁ are nonnegative integers, 0≦m₀≦L−1, 0≦m₁≦L−1 and L is a predefined nonnegative integer.
 2. The method according to claim 1, comprising encoding an information symbol, X, into a codeword, wherein X is an integer and $0 \leq X \leq {\frac{L\left( {L - 1} \right)}{2} - 1.}$
 3. The method according to claim 2, wherein the codeword elements m₀ and m₁ of the codeword are determined according to at least one of $\mspace{79mu} \left\{ {\begin{matrix} {\left. {m_{0} = {X - \left( {{f(X)} - 1} \right)}} \right)\left( {L - {{f(X)}/2}} \right)} \\ {{{\left. {;{m_{1} = {X - \left( {{f(X)} - 1} \right)}}} \right)\left( {L - {{f(X)}/2}} \right)} + {f(X)}};} \end{matrix}\mspace{79mu} \left\{ {\begin{matrix} {m_{0} = {{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X}} \\ {;{m_{1} = {{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X + {f(X)}}};} \end{matrix}\left\{ {\begin{matrix} {m_{0} = \left\{ \begin{matrix} {{\left. {X - \left( {{f(X)} - 1} \right)} \right)\left( {L - {{f(X)}/2}} \right)},} & {{f(X)}\mspace{14mu} {odd}} \\ {{{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X},} & {{f(X)}\mspace{14mu} {even}} \end{matrix} \right.} \\ {;{m_{1} = \left\{ \begin{matrix} {{{\left. {X - \left( {{f(X)} - 1} \right)} \right)\left( {L - {{f(X)}/2}} \right)} + {f(X)}},} & {{f(X)}\mspace{14mu} {odd}} \\ {{{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X + {f(X)}},} & {{{f(X)}\mspace{14mu} {even}};} \end{matrix} \right.}} \end{matrix}\mspace{79mu} {and}\left\{ \begin{matrix} {m_{0} = \left\{ \begin{matrix} {{{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X},} & {{f(X)}\mspace{14mu} {odd}} \\ {{\left. {X - \left( {{f(X)} - 1} \right)} \right)\left( {L - {{f(X)}/2}} \right)},} & {{f(X)}\mspace{14mu} {even}} \end{matrix} \right.} \\ {;{m_{1} = \left\{ \begin{matrix} {{{{f(X)}L} - {{f(X)}{\left( {1 + {f(X)}} \right)/2}} - 1 - X + {f(X)}},} & {{f(X)}\mspace{14mu} {odd}} \\ {\left. {X - \left( {{f(X)} - 1} \right)} \right)\left( {{L - {f\left( {X/2} \right)} + {f(X)}},} \right.} & {{f(X)}\mspace{14mu} {even}} \end{matrix} \right.}} \end{matrix} \right.} \right.} \right.} \right.$ where the value of ƒ(X) is an integer representing an offset from a lattice diagonal for which m₀=m₁ to the lattice diagonal of the codeword.
 4. The method according to claim 3, wherein ƒ(X) is ${f(X)} = \left\{ \begin{matrix} {1,} & {{X = 0},\ldots \mspace{14mu},{L - 2}} \\ {2,} & {{X = {L - 1}},\ldots \mspace{14mu},{{2L} - 4}} \\ \vdots & \vdots \\ {{L - 1},} & {X = {\frac{L\left( {L - 1} \right)}{2} - 1.}} \end{matrix} \right.$
 5. The method according to claim 3, wherein ƒ(X) is ${{f(X)} = {L - 1 - \left\lfloor \frac{\sqrt{1 + {8\left( {\frac{L\left( {L - 1} \right)}{2} - 1 - X} \right)}} - 1}{2} \right\rfloor}},$ where └r┘ denotes the greatest integer not greater than r for a real number r.
 6. The method according to claim 2, wherein the codeword elements are uniquely determined for an information symbol, X, from a subset of the codewords X m₀ m₁  0-29 X X + 1 30-58 X-30 X-28 59-86 X-59 X-56  87-113 X-87 X-83 114-139 X-114 X-109 140-164 X-140 X-134 165-188 X-165 X-158 189-211 X-189 X-181 212-233 X-212 X-203 234-254 X-234 X-224 255-274 X-255 X-244 275-293 X-275 X-263 294-311 X-294 X-281 312-328 X-312 X-298 329-344 X-329 X-314 345-359 X-345 X-329 360-373 X-360 X-343 374-386 X-374 X-356 387-398 X-387 X-368 399-409 X-399 X-379 410-419 X-410 X-389 420-428 X-420 X-398 429-436 X-429 X-406 437-443 X-437 X-413 444-449 X-444 X-419 450-454 X-450 X-424 455-458 X-455 X-428 459-461 X-459 X-431 462-463 X-462 X-433 464 X-464 X-434

wherein the subset comprises codewords corresponding to at least 252 information symbols, X.
 7. The method according to claim 6, wherein the subset comprises codewords corresponding to at least 336 information symbols, X.
 8. The method according to claim 2, generating a first codeword for an information symbol, X, the codeword elements of the first codeword being in a first order, and providing a second codeword having the codeword elements of the first codeword in a second order different from the first order.
 9. The method according to claim 8, wherein the first codeword is transmitted in a first OFDM symbol and the second codeword is transmitted in a second OFDM symbol in a frame.
 10. The method according to claim 8, wherein the first and second order of the codeword elements represent different frame timing hypothesis.
 11. The method according to claim 2, wherein the information symbol, X, represents information associated with the cell and is encoded into the codeword according to a one-one correspondence.
 12. The method according to claim 1, wherein the codeword elements m₀ and m₁ correspond to m-sequences taken from a set of m-sequences and the number of m-sequences in the set is L.
 13. The method according to claim 12, wherein a sequence according to m₀ is transmitted by a first set of OFDM sub-carriers and a sequence according to m₁ is transmitted by a second set of OFDM sub-carriers.
 14. In a telecommunication system, a method of determining an information symbol X from a codeword generated according to claim 1 comprising determining the information symbol X according to the codeword elements m₀ and m₁ of the codeword, and the difference between m₀ and m₁.
 15. The method according to claim 14, wherein X is determined according to at least one of the following equations; X = min {m₀, m₁} + (k − 1))(L − k/2); X = kL − k(1 + k)/2 − 1 − min {m₀, m₁}; $X = \left\{ {{\begin{matrix} {{\left. {{\min \left\{ {m_{0},m_{1}} \right\}} + \left( {k - 1} \right)} \right)\left( {L - {k/2}} \right)},} & {k\mspace{14mu} {even}} \\ {{{kL} - {{k\left( {1 + k} \right)}/2} - 1 - {\min \left\{ {m_{0},m_{1}} \right\}}},} & {{k\mspace{14mu} {odd}};} \end{matrix}{and}X} = \left\{ \begin{matrix} {{{kL} - {{k\left( {1 + k} \right)}/2} - 1 - {\min \left\{ {m_{0},m_{1}} \right\}}},} & {k\mspace{14mu} {even}} \\ {{\left. {{\min \left\{ {m_{0},m_{1}} \right\}} + \left( {k - 1} \right)} \right)\left( {L - {k/2}} \right)},} & {{k\mspace{14mu} {odd}};} \end{matrix} \right.} \right.$ where L is a predefined integer; min {m₀,m₁} defines the smallest value of m₀ and m₁; and k=|m₁−m₀|, the absolute value of m₁−m₀.
 16. An apparatus for generating at least one codeword for transmission in a telecommunication system, wherein a codeword comprises two codeword elements m₀ and m₁, comprising a processor, configured to generate at least one codeword corresponding to at least one lattice point from at least one lattice diagonal for which m₀<m₁, allowing up to (L−1)/2 codewords to be generated and the number of the lattice diagonals being as small as possible given the number of the at least one codeword, where m₀ and m₁ are nonnegative integers, 0≦m₀≦L−1, 0≦m₁≦L−1 and L is a predefined nonnegative integer.
 17. The apparatus according to claim 16, wherein the processor is configured to encode an information symbol X into a codeword according to the method of claim
 2. 18. The apparatus according to claim 17, comprising storage means for storing a subset of the codewords X m₀ m₁  0-29 X X + 1 30-58 X-30 X-28 59-86 X-59 X-56  87-113 X-87 X-83 114-139 X-114 X-109 140-164 X-140 X-134 165-188 X-165 X-158 189-211 X-189 X-181 212-233 X-212 X-203 234-254 X-234 X-224 255-274 X-255 X-244 275-293 X-275 X-263 294-311 X-294 X-281 312-328 X-312 X-298 329-344 X-329 X-314 345-359 X-345 X-329 360-373 X-360 X-343 374-386 X-374 X-356 387-398 X-387 X-368 399-409 X-399 X-379 410-419 X-410 X-389 420-428 X-420 X-398 429-436 X-429 X-406 437-443 X-437 X-413 444-449 X-444 X-419 450-454 X-450 X-424 455-458 X-455 X-428 459-461 X-459 X-431 462-463 X-462 X-433 464 X-464 X-434

and the subset comprises codewords corresponding to at least 169 information symbols, X.
 19. An apparatus for determining an information symbol, X, from a codeword generated according to claim 1 in a telecommunication system, comprising a processing equipment, configured to determine the information symbol, X, according to the codeword elements m₀ and m₁ of the codeword and the difference between m₀ and m₁.
 20. The apparatus according to claim 19, wherein X is determined according to at least one of the following equations; X = min {m₀, m₁} + (k − 1))(L − k/2); X = kL − k(1 + k)/2 − 1 − min {m₀, m₁}; $X = \left\{ {{\begin{matrix} {{\left. {{\min \left\{ {m_{0},m_{1}} \right\}} + \left( {k - 1} \right)} \right)\left( {L - {k/2}} \right)},} & {k\mspace{14mu} {even}} \\ {{{kL} - {{k\left( {1 + k} \right)}/2} - 1 - {\min \left\{ {m_{0},m_{1}} \right\}}},} & {{k\mspace{14mu} {odd}};} \end{matrix}{and}X} = \left\{ \begin{matrix} {{{kL} - {{k\left( {1 + k} \right)}/2} - 1 - {\min \left\{ {m_{0},m_{1}} \right\}}},} & {k\mspace{14mu} {even}} \\ {{\left. {{\min \left\{ {m_{0},m_{1}} \right\}} + \left( {k - 1} \right)} \right)\left( {L - {k/2}} \right)},} & {{k\mspace{14mu} {odd}};} \end{matrix} \right.} \right.$ where L is a predefined integer; min{m₀,m₁}defines the smallest value of m₀ and m₁; and k=|m₁−m₀|, the absolute value of m₁−m₀.
 21. A system for transmitting codewords in a cellular telecommunication system, comprising at least two apparatuses in claim 16, wherein a first apparatus transmits a first codeword uniquely representing a first information symbol and a second apparatus transmits a second codeword uniquely representing a second information symbol.
 22. The system according to claim 21, wherein each of the first information symbol and the second information symbol represents information associated with the cell. 